通过等保2.0分析系统脆弱性:安全物理环境篇 & 安全通信网络篇 | 运维进阶
【作者】沈潇,杭州市中医院工程师。主要负责医院的网络安全、服务器、虚拟化、数据库、机房、动环 。主要擅长技术:网络安全、云计算、开源容器、Python。
前言
到了医疗行业,每天几百个故障电话,每个项目有那么多坑点,点点滴滴的要求,有那么多人不理解,有多少故障、风险、问题让人痛心疾首,让我对医疗信息化和其他行业信息化的建设有了更深的思考,理解了 “外行看热闹,内行看门道”的道理,理解了等级保护 2.0 不仅仅只是几张纸,在此我通过等级保护 2.0 三级通用要求结合我碰到过的案例和学习到的知识分享给大家,内容过多,分成几部分阐述,欢迎大家多多指正。以下为安全物理环境篇、安全通信网络篇;后续还将有安全区域边界篇、安全计算环境篇等。
1、 物理位置选择
a) 机房场地应选择在具有防震、防风和防雨等能力的建筑内;
b) 机房场地应避免设在建筑物的顶层或地下室 , 否则应加强防水和防潮措施。
南方地区雨水多,机房放置在地下室或者顶层,每当下雨的时候,特别是台风暴雨,在家时刻都得担心着雨水会不会倒灌,说是有漏水检测,也做了相应的倒灌保护,可能都挡不住南方的暴雨,当水遇到漏水检测的时候其实已经来不及了,很多机房的设计通过下走线,如果雨水碰到了地下的电路、网线、光纤,导致短路、被腐蚀,影响的将是全部的信息系统,长期潮湿或者是非常干燥的环境也影响了基础设施的正常运作。
如果机房是靠建筑物外层墙壁的,需要注意外立面是否做了防水,经常浸水会导致墙面松动,如果墙面靠近了配电柜、 UPS 等设备,仍然有短路的风险。
机房不设置在顶层考虑是承重的要求,信息机房对于承重要求是大于 400 ㎏ / ㎡ , 而 UPS 机房的承重要求是大于 800 k ㎏ / ㎡。
医院信息机房要满足 B 级机房要求, B 级机房还要求不能在停车场 10 米范围内、铁路高速公路 100 米范围内、飞机场 1600 米范围内、化工厂和垃圾填埋场 400 米范围内、军火库 1600 米范围内、核电站 1600 米范围内、地震断层或滑坡危险区域、犯罪高发区域。
2 、 物理访问控制
a) 机房出入口应配置电子门禁系统 , 控制、鉴别和记录进入的人员。
带着一大串钥匙去巡检的经历历历在目,毕竟以前都只用门禁卡,现在想想可能就像一个仓库保管员一样,不仅要关心机房里面的设备是否正常,还得时刻关注这个钥匙在不在,钥匙是否被借用出去了,正规的流程还要带着借钥匙的人去现场,体验过电子门禁系统后那真是方便了不少,特别是指纹生物识别,卡可以外借,可以通过手机 NFC 功能模拟实体卡,指纹一般难以拟造,不让非授权人员进入,直接完美解决了控制、鉴别和记录的要求,也免去了找钥匙的过程。
3 、 防雷击
a)应将各类机柜、设施和设备等通过接地系统安全接地;
b)应采取措施防止感应雷,例如设置防雷保安器或过压保护装置等。
在机房正式启用前需要对机房内所有金属载体都要进行接地防雷检测,在市电接入时要添加浪涌防雷保护器。
4 、 防火
a )机房应设置火灾自动消防系统,能够自动检测火情、自动报警,并自动灭火;
b) 机房及相关的工作房间和辅助房应采用具有耐火等级的建筑材料;
c )应对机房划分区域进行管理,区域和区域之间设置隔离防火措施。
B 级机房其实对防火灭火有了专门的要求。机房内建议使用洁净气体灭火装系统,比如像二氧化碳和七氟丙烷,不是说不能用泡沫灭火器或者水雾灭火,而是这类灭火可能会影响到设备;此外我们还要保证灭火系统是自动的,真的出了火灾手动的操作肯定会带来无法挽回的损伤。
使用自动洁净气体灭火,还需要在机房内开泄压口,防止灭火气体喷出后导致机房内压强过大而影响设备,二氧化碳灭火通过不可燃气体致使火源不可燃,而七氟丙烷灭火是通过和空气中的氧气发生化学反应减少氧气含量,不管是哪种灭火方式,当灭火气体喷出时,在机房内部的人一定要及时出机房,以免产生人员伤亡。
5 、 防盗窃和防破坏
a) 应将设备或主要部进行固定,并设置明显的不易除去的标识;
b) 应将通信线缆铺设在隐蔽安全处;
c) 应设置机房防盗报警系统或设置有专人值守的视频监控系统。
之前走进机房虽然我能给大家熟练的介绍出每台设备的功能,但是同事可能出了机房门就已经忘记了,在大家心目中最重要的就是 HIS , 但是在现在的系统架构下,很多都是我们需要关注的点,大量的模块化系统跑在虚拟化上,部分应用层二层转变成三层架构,虚拟化的重要程度已不亚于 HIS 的数据库,安全设备还有以物理串联的方式接入在核心系统前面的,这些都是重要的关注点,我们其实应该知晓其功能作用和 IP 地址,方便大家平时运维。
对于线缆的铺设我其实更喜欢是凌空桥架,就在第一点“物理环境选择”中说的如果放在地板下不仅是运维不方便可能还会造成其他问题。
我的同事有些真的很负责,值班的时候机房门是否关了都会确认好几次,下班前也会再确认一遍,每当机房门没关紧里面没有人,他(她)们就会问大家是否有人进去过了,有了视频监控就方便多了,而且如果工程师在机房出现了误操作,也能定位到是谁,操作了哪个机柜的设备,其实这也如同日志审计,不让操作无迹可寻,所以我对视频记录的保存要求其实和网安法里对日志的要求一样要 180 天。
6 、 防水和防潮
a) 应采取措施防止雨水通过机房窗户、屋顶和墙壁渗透;
b) 应采取措施防止机房内水蒸气结露和地下积水的转移与渗透;
c) 应安装对水敏感的检测仪表或元件,对机房进行防水检测和报警。
除了第一点中提到的墙壁渗水,我们除了注意外部的雨水,还要注意楼宇内部和机房内部的水,合理的机房设计上部和内部不应该出现水管等流水管道,在机柜的顶部和机房的地板下部也应该设计导水槽,防止流水进入机房内部后落到设备和线路上。
综上所述合理的机房设计内部就不应该出现精密空调,因为精密空调需要水管进水,但是现在冷池的列式空调一定是在机房内部的,此时我们就要注意提供给精密空调的水是否经过净化和电力,去除杂质,精密空调的加湿也是一个电离的过程,直接用自来水,水中的氯气会和别的物质形成氯化物沉淀在出水口上,沉淀多了堵住出水管,导致进水外溢,就会导致机房浸水。
应当注意保持精密空调的温度、湿度在一个合理的范围内,当我们的新机房没有很多产热量时,精密空调的工作压力小,制冷量保持不变,导致机房内空气一直保持比较低的温度,没办法及时升温,空气中的水分就会凝结在设备、地板、墙面上,如果机房门一直开着,机房外部的水分也会进入,大量的水分凝结在设备及设备内部,就严重影响了设备的运行环境,这时我们可以将空调温度设置高,并且开启空调的制热功能,热量让水分蒸发,所以机房不仅需要制冷,有时候制热也很重要。
7 、 温湿度控制
a) 应设置温湿度自动调节设施,使机房温湿度的变化在设备运行所允许的范围之内。
B 级机房的温度要控制在 23 ± 1 ℃( UPS 机房温度可以在 15-25 ℃),变化率小于 5 ℃ / h ,湿度要控制在 45%-55% ,不得结霜,其实要求很高,很多控制不好其实是精密空调的制冷量没有达到,精密空调压缩机停止后要几分钟后才能启动,如果一台空调宕机,另一台也完全可以支撑整个机房的制冷需要。如果精密空调只有一台,此时停机了没办法在几分钟内一直保持 28 ℃以内,很有可能就超过该温度,在空调制冷量选择上,我们应该先把整个机房的机柜按照标准的方式算满,然后在除以 75% 得到单台空调需要配置的制冷量,这样两台空调同时工作每台就有 25% 的制冷量富裕,不让空调压力太大。
还有一种情况就看机房的设计方式,是传统的还是冷池,冷池列式空调送风、下送风、上送风还是自有送风,不同的送风方式、机房内机柜布局、机柜内设备制热量不同都会影响机房内局部或者整体温度,要控制好整体和局部温度就得控制好空调的送风精准度,虽然我们用到了冷池结构,但是对于冷量的高效利用,我更偏向于精准的机柜下送风,减小制冷量的浪费。
8 、 电力供应
a) 应在机房供电线路上配置稳压器和过电压防护设备;
b) 应提供短期的备用电力供应,至少满足设备在断电情况下的正常运行要求;
c) 应设置冗余或并行的电力电缆线路为计算机系统供电。
不管是信息基础设施还是电力,都应该具备冗余的条件,不仅是提供给设备的供电是要冗余,还有空调、电灯等,如果设备的供电正常,空调没有冗余供电,导致长时间运行机房温度过高,设备依然会宕机,没有起到全面供电保护的效。
双路市电我们要考虑每路市电的电量都能满足机房全部设备的运行,并留出 30% 以上的冗余,我们一般会通过 ATS 设备进行主备市电切换(切换功能一定要设置成自动), ATS 的切换延时会在几百毫秒,几百毫秒的延时会导致电源断电,此时就需要 UPS 来支撑机房设备的供电,而精密空调可以在 ATS 断电切换后重新来电启动,这点非常重要,如果来电无法自启动的空调将给晚上值班的同事带来很大的压力。
一般出现一路市电断路的情况很正常,但是两路同时断电的情况就比较少,可能两路同时断电全院的其他供电也是中断的,此时就要考虑 UPS 供电能否满足这段时间内的供电时长要求,如果 UPS 的电量用完了,能否在来电的时候快速的恢复设备和系统状态,确保在临床进入医疗工作状态前恢复,这些除了供电、硬件配合,还需要系统、软件上的优化设置。
供电到机房后,我们要考虑关键节点的设备是冗余电源,并且电源插座插在不同的电路上,同时还要保证交流三相电的平衡(三相电之间最好控制在 25% 以内),好的机房会有配电列头柜手动在线控制三相电平衡,如果没有得话就只能手工通过设备的分布去控制了,此时可能还要考虑热量分布等问题,所以难度相对又大了。
如果单电源的设备想实现电源冗余的效果,我们可以在机房内增加 STS 设备,该设备通过多路电源输入,再将电输出给其他设备,类似小型的 ATS , 但是它的切换速度在几十毫秒,切换过程不会导致设备断电,是一个比较好的解决方式,也能通过 ATS 设备辅助去平衡三相电。
UPS 电池长期不放电其实对电池也有损耗,建议是每个季度能有一次 UPS 放电,顺便可以检测下 UPS 是否正常,电池的电容量是否正常,推断出当前电池能满足机房多久的供电,对于 UPS 电池放置我偏向于电池架,而且尽量让每一节电池都能靠在最外部,这样方便检测每节电池的电压、阻抗和故障,有钱的可以考虑给每节电池上监控点。
9 、 电磁防护
a) 电源线和通信线缆应隔离铺设,避免互相干扰;
b) 应对关键设备实施电磁屏蔽。
标准的设计我们会将强电和弱电线缆通过不同的桥架送入到每个机柜,我们可以看到那些老的机房,电源线和网线缠绕在一起,再加上以前的网线大多质量差没有屏蔽,很有可能因为电源导致网线信号传输时错包的概率增大,而光纤因为是光信号就没有电磁干扰的问题存在。在医院里还有很多放射型设备,开启的时候同样会有很大的电磁干扰,我们要确保这类设备时候的科室不在机房附近,并且机房本身做了严格的电磁屏蔽,隔绝外部的电磁干扰。
网络在集成中一直被认为是最简单的一块,其实是因为 TCP/IP 模型在几十年的运行下逐渐稳定,并且各大网络厂商通过各种简单的配置方式来简化配置,加上大家对 “网管”的固有印象,导致了大家忽略了网络规划的重要性,忽略了网络配置的细节,一个规划好配置好的网络确实能减少不少日常问题,个人觉得在当今互联网时代, 99% 的应用系统、中间件、数据库、缓存、消息队列等组件都是基于网络模型开发的,作为一个网络工程师应该是熟悉 TCP/IP 四层模型,包含链路层、网络层、传输层、应用层,了解这些组件的基本网络运行方式和业务网络模型,能以抓包的方式去分析网络中各式各样的新老问题。
网络架构
a) 应保证网络设备的业务处理能力满足业务高峰期需要;
b) 应保证网络各个部分的带宽满足业务高峰期需要;
c) 应划分不同的网络区域,并按照方便管理和控制的原则为各网络区域分配地址;
d) 应避免将重要网络区域部署在边界处,重要网络区域与其他网络区域之间应采取可靠的技术隔离手段;
e) 应提供通信线路、关键网络设备和关键计算设备的硬件冗余,保证系统的可用性。
在考虑网络设备处理性能和网络各部分带宽时首先要考虑该设备和该链路是用来跑具体哪些应用的,业务、管理、备份等,同时要考虑成本、功能,从而规划需要的性能和带宽,一般的普通交换机只要考虑包转发率、端口速率、端口类型、端口数量等性能,而框式交换机相对于普通交换机有了更高的扩展性,考虑的时候就不太一样, CLOS 架构的交换机要配备交换矩阵,交换矩阵配备的数量不同那交换机包转发的速率也就不同,不同型号的框式交换机能配备最高型号的板卡类型也不同,最高配备的接口数量也不同。
医疗行业因为资源有限很少考虑将不同的应用流量分不同的链路转发,或者通过 Q oS 的方式去限速,其实这些很有必要考虑,随着数据库增量更新大、虚拟机数量增多等原因,要实现虚拟化、物理机、数据库等定时备份或实时备份,就要利用掉链路很大一部分带宽,在设计时我们可以使用 LAN-F ree 的架构,备份通过单独的网络运行,从而不影响业务流量,如果没有使用 LAN-F ree 的架构,那就要考虑备份经过的沿途链路和设备都要满足正常应用系统运行的同时满足备份。
医疗行业大部分还使用了 CS 的系统架构,客户端直接通过数据库连接和数据库交换机,并且大部分流量以查询为主,不像 BS 架构设计能通过前端优化浏览器到应用服务器的速度和带宽使用,也同时优化了数据库连接和执行效率, CS 的架构那就要计算单台终端上可能产生的流量,从而计算出核心数据库需要的带宽;在设计新机房网络的时候我将设备的带外管理网络独立出来,之前和多设备操作系统死机只能通过现场重启,而通过带外管理可以随时远程重启、查看、重装操作系统,极大地方便了远程值班的同事解决服务器宕机的故障。
在分配不同网络区域的时候我们也要考虑到逻辑的问题,如网络的 STP 、 VLAN 等规划,避免一个网络区域的故障影响了别的网络,可能很多医疗机构将多个 VLAN 合并在一个 STP 生成树下,真的出现问题时那将是毁灭性的灾难,更多的时候我们考虑时候其他二层防环检测、三层隔离等技术,从而不是大家常说的全网一个 VLAN 的大二层架构 。
医院在重要网络区域间隔离,个人认为有几处需要关注:
①内外网之间的隔离,这个也是最常见的,之前大家应该都会选择网闸,但是基于外网应用的不断增多,内网之间的交互也越来越多,单纯的网闸无法防护应用层的攻击,此时我们就需要考虑在内外网之间添加 IPS 、 WAF 、 防毒、行为管理等设备,方便的可以考虑 NGFW ;
②外网建立 DMZ 区域,做好外网终端和外网 DMZ 、外网终端和互联网、外网 DMZ 和互联网之间的相互访问控制和安全防护;
③数据中心建议建立内网 DMZ 和专网 DMZ , 当数据中心和内网、专网交互时做好访问控制和安全防护,内网 DMZ 因为大部分应用是 CS 二层架构,只能直接通过数据中心防火墙对所有数据中心资产做好防护,而专网 DMZ 我基本没有看到有医院考虑,和专网的交互很多通过前置机访问,虽然很多前置机都是反向代理,但是从规范性来考虑,专网的对面其实是别的单位,此时就应该有单独的 DMZ 区域和对方交互;
④数据中心内部大部分还采用传统的 VLAN 模型,没有使用租户的形式,我们在护网的过程中就能发现只要打入内网后,基本上就是四通八达,而需要实现类似于租户的形式,我们可以采用 V xLAN 架构 + 安全服务链,或者直接使用 EDR 微隔离的功能,通过 V xLAN 的形式可以解决 x 86 操作系统或者其他专有设备的二层安全防护,并且安全服务链根据需要的防护类型实现精准防护。
冗余一直是我在设计网络架构时考虑的重要参数之一,设备、板卡、风扇、电源、链路、 CPU 、 内存、硬盘等都需要被考虑到,当单个硬件的故障被触发时,冗余的降级能力同时也要考虑,这保障了系统能经得起多大的故障,真正实现高可用、高可靠,在合理的范围内不用考虑 PRO 和 PTO 的问题;冗余可以通过多种方式实现,双主双活、热备、冷备等,在能满足应用系统要求的情况下尽可能使用双主双活的方式,减少不必要的主备切换,如防火墙规划的时候尽量使用双主双活的方案,在一台防火墙宕机的情况下,另一台防火墙能正常接管,并且做到会话同步,确保长链接会话不受影响,如果长链接会话断了重新建立可能会产生很多问题。容灾环境也是冗余的一部分,在等保要求中异地容灾起码是在 100 ㎞以上,很少有医院能够通过分院的形式达到这个要求,那么可以考虑异地云环境,在出现自然灾害时最低要求保证数据不丢失,在使用容灾环境时同样要考虑容灾的资源配置能否满足全量的业务运行,容灾环境的网络环境能满足和生产一样的要求,容灾的切换过程不应该是复杂的,尽量通过服务端的容灾配置切换,减少终端的配置变更。
原题:通过等保2.0分析我们系统的脆弱性:安全物理环境篇;通过等保2.0分析我们系统的脆弱性:安全通信网络篇如有任何问题,可点击文末阅读原文,到社区原文下评论交流 觉得本文有用,请转发或点击“在看”,让更多同行看到
资料/文章推荐:
欢迎关注社区 “安全”技术主题 ,将会不断更新优质资料、文章。地址:
http://www.talkwithtrend.com/Topic/137
下载 twt 社区客户端 APP
长按识别二维码即可下载
或到应用商店搜索“twt”
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场